package com.ldkj.panzh.service;

import com.ldkj.panzh.param.VehicleListParam;
import com.ldkj.panzh.vo.VehicleListVO;

import java.util.List;
import java.util.Map;

/**
 * 车辆名单服务接口（白名单/黑名单）
 *
 * @author qiancheng
 * @date 2025-11-19
 */
public interface VehicleListService {

    /**
     * 查询车辆白名单
     *
     * @param vehicleListParam 查询参数
     * @return 白名单列表
     * @throws Exception
     */
    List<VehicleListVO> queryWhiteList(VehicleListParam vehicleListParam) throws Exception;

    /**
     * 查询车辆黑名单
     *
     * @param vehicleListParam 查询参数
     * @return 黑名单列表
     * @throws Exception
     */
    List<VehicleListVO> queryBlackList(VehicleListParam vehicleListParam) throws Exception;

    /**
     * 查询白名单统计信息
     *
     * @param vehicleListParam 查询参数
     * @return 统计数据
     * @throws Exception
     */
    Map<String, Object> queryWhiteListStats(VehicleListParam vehicleListParam) throws Exception;

    /**
     * 查询黑名单统计信息
     *
     * @param vehicleListParam 查询参数
     * @return 统计数据
     * @throws Exception
     */
    Map<String, Object> queryBlackListStats(VehicleListParam vehicleListParam) throws Exception;
}
